import axios from 'axios'
import JSONbig from 'json-bigint'
import { getToken } from '@/utils/storage'

const request = axios.create({
  baseURL: 'http://ttapi.research.itcast.cn',
  timeout: 3000
})

request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  if (getToken()) {
    config.headers.Authorization = 'Bearer ' + getToken()
  }
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

request.defaults.transformResponse = [function (data) {
  try {
    // 作用1：把json字符串转为js对象
    // 作用2：把里面的大数字做安全处理
    return JSONbig.parse(data)
  } catch (err) {
    return data
  }
  // return data;
}]

export default request
